//
//  NetHandler.m
//  UI_10.13_豆瓣网课上带敲
//
//  Created by Scott on 14-10-13.
//  Copyright (c) 2014年 lanou.3g.com. All rights reserved.
//

#import "NetHandler.h"

@implementation NetHandler

// +号方法, 和里面的类关系不大
//         简化处理方法
+ (void)networkWithURL:(NSString *)urlStr completion:(void(^)(id result))block
{
    
    // 1.处理地址
    NSString *str = urlStr;
    
    str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    NSURL *url = [NSURL URLWithString:str];
    
    // 2. 创建请求
    
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60];
    
    request.HTTPMethod = @"GET";
    
    // 3. 链接服务器(异步Block方法)
    
    // 参数1: 请求
    // 参数2: 操作队列 网络请求结束之后返回到哪个线程
    // 参数3: 当网络请求结束之后, 会执行block中的代码
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        
        // 对数据进行处理 刷新视图(reloadData), 给各种Label赋值
        
        
        NSError *error = nil;
        id result = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
        
        // 将返回的结果, 利用Block传给外部使用的类
        
        block(result);
        
    }];

    
    
}

@end
